// Write a program that outputs the string representation of numbers from 1 to n.

// But for multiples of three it should output “Fizz” instead of the number 
//and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.

class Solution {
public:
    vector<string> fizzBuzz(int n) {

        const string Fizz = "Fizz";
        const string Buzz = "Buzz";
        const string FizzBuzz = "FizzBuzz";
        stringtream ss; 
        vector<string> vec;
        int i = 1;
        while(i<=n)
        {   
            if(n%3 != 0 &&  m%5 != 0)
            {
                ss<<i;
                vec.push_back(ss.str());
            }

            if(n%3 == 0 &&  m%5 == 0)
            {
                vec.push_back(FizzBuzz);
            }

            if(n%3 == 0 &&  m%5 != 0)
            {
                vec.push_back(Fizz);
            }

            if(n%3 != 0 &&  m%5 == 0)
            {
                vec.push_back(Buzz);
            }
        }

        return vec;        
    }
};